package com.xpffly.design.factory.common.factory;

import com.xpffly.design.factory.common.service.Product;

/**
 * @Author: xpengfei
 * @Date: 2021/3/26 23:25
 * @Description：抽象工厂类，负责定义产品对象的产生
 */
public abstract class ProductObjCreator {
    /**
     * 方法用于创建产品对象，入参类型可以自行设置，通常为String 、Enum、Class等，也可以为空
     * 这里指定入参类型是Class，且必须为Product的子类，
     *
     * @param tClass
     * @param <T>
     * @return
     */
    public abstract <T extends Product> T createProduct(Class<T> tClass);
}
